package com.sc.nft.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.sc.nft.entity.dto.*;
import com.sc.nft.entity.vo.DaoSchoolChildMaterialNotPageAdminVO;
import com.sc.nft.entity.vo.DaoSchoolChildMaterialPageAdminVO;
import com.sc.nft.entity.vo.DaoSchoolChildMaterialPageVO;

import java.util.List;

/**
 * 素材表与子集关联表(DaoSchoolChildMaterial)表服务接口
 *
 * @author makejava
 * @since 2023-03-15 18:07:43
 */
public interface DaoSchoolChildMaterialService {

    /**
     * 获取关联的所有素材
     *
     * @param pageRequest
     * @return
     */
    Page<DaoSchoolChildMaterialPageAdminVO> pageAdmin(DaoSchoolChildMaterialPageAdminDTO pageRequest);

    /**
     * 删除关联
     *
     * @param id
     * @return
     */
    Boolean deleteById(Long id);



    /**
     * 获取没有被某个子集选中的文章
     *
     * @param dto
     * @return
     */
    Page<DaoSchoolChildMaterialNotPageAdminVO> selectByNotChildIdPageList(DaoSchoolMaterialNotChildIdPageListDTO dto);

    /**
     * 素材关联新增
     *
     * @param info
     * @return
     */
    Boolean saveAdmin(List<DaoSchoolMaterialChildSaveAdminDTO> info);

    /**
     * 获取子集下的素材
     *
     * @param dto
     * @return
     */
    Page<DaoSchoolChildMaterialPageVO> getChildMaterialList(DaoSchoolHomeArticleListDTO dto);


    /**
     * 修改排序
     *
     * @param dto
     * @return
     */
    Boolean updateSortById(DaoSchoolChildMaterialUpdateSortAdminDTO dto);
}
